<template>
  <div class="home-reccommend">
    <h1>达人歌单</h1>
    <div class="wrapper" ref="wrapper">
      <ul class="content" ref="content">
        <!-- <li v-for="(item, index) in listData" :key = "index" @click="selectItem(item)"> -->
        <li
          v-for="(item, index) in listData"
          :key="index"
          @click="selectItem(item)"
        >
          <div class="cover">
            <van-image :src="item.cover" radius="10" />
            <span>{{ item.listen_num | numFilter(1) }}万</span>
          </div>
          <span>{{ item.title }}</span>
        </li>
      </ul>
    </div>
  </div>
</template>

<script>
import { betterScrollHorizontal } from "../../common/betterScroll";
// import BScroll from "better-scroll"; //引入Better scroll
export default {
  data() {
    return {
      listData: [],
    };
  },
  created() {
    this.getSongListData();
  },
  methods: {
    //获取推荐歌单
    getSongListData() {
      this.$request("get", "/recommend/playlist/u").then((res) => {
        // console.log(res);
        if (res.result == 100) {
          this.listData = res.data.list;
        }
        //函数调用
        betterScrollHorizontal(
          this,
          this.$refs.wrapper,
          this.$refs.content,
          this.listData.length,
          10
        );
        // this.betterScrollHorizontal(this.listData.length, 10); //调用一个横向滚动方法
      });
    },
    //列表项的单击事件
    selectItem(item) {
      const id = item.content_id; //获取歌单id
      console.log("歌单id" + id); //控制台输出歌单id

      //1.编程方式导航，字符串路径的方式
      // this.$router.push(`/songlist/${id}`);
      //2.编程方式导航，带有路径对象方式
      // this.$router.push({ path: `/songlist/${id}` });
      //3.命名路由方式
      this.$router.push({
        name: "songlist",
        params: {
          id: id, //id
        },
      });
    },
    //封装一个横向滚动方法
    //param num : 列表项个数
    //param itemwidth ： 列表项的宽度单位rem
    // betterScrollHorizontal(num, itemWidth) {
    //   //计算内容区（content）的宽度
    //   this.$refs.content.style.width = num * itemWidth + "rem";
    //   this.$nextTick(() => {
    //     this.scroll = new BScroll(this.$refs.wrapper, {
    //       scrollY: false, //关闭纵向滚动
    //       scrollX: true, //横向滚动
    //       startX: 0, //横向滚动开始位置
    //     });
    //   });
    // },
  },
  // filters: {
  //   // 处理播放量的显示格式
  //   /**
  //    * parm num: 小数位固定的位数
  //    * param value：处理的数值
  //    */
  //   numFilter(value, num) {
  //     return parseFloat(value / 10000).toFixed(num);
  //   },
  // },
};
</script>

<style scoped>
/* .home-reccommend > ul {
  display: flex;
  flex-wrap: wrap;
}
.home-reccommend > ul > li {
  width: calc((100% - 1rem) / 3 * 1);
}
.home-reccommend > ul > li:nth-of-type(3n + 2) {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.cover {
  position: relative;
}*/
.cover > span {
  position: absolute;
  right: 0;
  bottom: 0.25rem;
  background-color: rgba(0, 0, 0, 0.326);
  border-radius: 0.5rem;
  color: white;
  font-size: 14px;
  width: 5rem;
  display: inline-block;
}
.cover {
  position: relative;
}
.wrapper {
  width: 100%;
  overflow: hidden; /*容器的宽度就是屏幕的宽度 */
}
/* ul.content { */
/* content内容区的宽度要大于wrapper容器的宽度，12个列表项 */
/* width: calc(12 * 10rem); */
/* } */
ul.content li {
  /* li默认是块级元素，修改为行内元素，但是要具备块级元素的特征 */
  display: inline-block;
  width: 10rem;
  vertical-align: top; /* 垂直方向的位置 */
}
ul.content li * {
  margin: 0.1rem;
}
ul.content li > span {
  font-size: 0.8rem;
  color: #54493b;
}
</style>
